// File System
// (c) jimon game studio

#ifndef JEH_IFILESYSTEM
#define JEH_IFILESYSTEM

#include "Config_Engine.h"
#include "jeSingleton.h"
#include "jeUnknown.h"
#include "IFileBuffer.h"
#include "jeStl.h"

namespace je
{
	namespace core
	{
		//! File System Interface
		class IFileSystem:public je::jeUnknown
		{
		public:

			//! Destructor
			virtual ~IFileSystem()
			{
			}

			//! Read File
			virtual IFileBuffer * ReadFile(const jeStringd & FileName) = 0;

			//! Read File
			virtual IFileBuffer * WriteFile(const jeStringd & FileName) = 0;
		};

		DECLARE_SINGLETON_E(JE_ENGINE_FUNCTION_API,JE_ENGINE_FUNCTION_CALL,FileSystem)
	}
}

#endif
